package com.demo.ioc.service.impl;

import com.demo.ioc.service.IBService;
import com.demo.ioc.service.ICService;
import com.demo.ioc.service.IDService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;


/**
 * 缺点：
 * 	1.显得笨重
 * 	2.如果多个需要注入的话，构造方法就很难看(通过业务规避)
 * 优点：
 * 	1.注入组件不可变(final关键字的作用)
 * 	2.依赖不为空(构造方法)
 * 	3.完全初始化的状态(类的加载过程，构造方法是最后一步)
 */
@Service
public class BServiceImpl implements IBService {

    private final ICService service;
    private final IDService service1;

    @Autowired //spring 4.3之后可以不用在构造方法上标注@Autowired
    public BServiceImpl(ICService service,IDService service1) {
        this.service = service;
        this.service1 = service1;
    }
}
